<HTML>
<HEAD>
<TITLE>
FabRecAlmacenamiento.h
</TITLE>
</HEAD>
<BODY>
<PRE>
<font color="blue">#ifndef</font> FABRECALMACENAMIENTO_H_
<font color="blue">#define</font> FABRECDEALMACENAMIENTO_H_
<font color="green">/*
#include "../classes/etg_almacenamiento/Etg_Almacenamiento.h"

#include "../classes/almacenamiento/Almacenamiento.h"
#include "../enums/TipoMemoria.h"
#include "../enums/TipoIndice.h"
#include "../enums/TipoEstrategia.h"
#include "Dato.h"
*/</font>
<font color="blue">#include</font> <font color="maroon">"../../classes/RecursoDeAlmacenamiento.h"</font>

<font color="blue">using</font> <font color="blue">namespace</font> std;

<font color="blue">class</font> FabRecAlmacenamiento <font color="black">{</font>
    
    <font color="blue">public</font><font color="black">:</font>
        FabRecAlmacenamiento<font color="black">(</font><font color="black">)</font>;

        ~FabRecAlmacenamiento<font color="black">(</font><font color="black">)</font>;
            
        <font color="green">/**
         * 
         * Permite crear un recurso que se almacena en Buffer y que utiliza como indice un Arbol B# 
         * 
         * @param TipoMemoria tipoM: define si los registros que vendran por listaDatos son de longitud FIJA o VARIABLE.
         * @param TipoEstrategia tipoE: define si la estrategia de almacenamiento de los datos son REGISTROS, BLOQUES o TEXTO
         * @param vector&#60;Dato*&#62; listaDatos: vector que contiene los datos a almacenar en la carga inicial.
         * 
         * */</font>
        <font color="blue">static</font> RecursoDeAlmacenamiento<font color="black">*</font> recursoBuffer_IndiceArbol<font color="black">(</font>TipoMemoria tipoM, TipoEstrategia tipoE, vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font> listaDatos<font color="black">)</font>;
        
        <font color="green">/**
         * 
         * Permite crear un recurso que se almacena en un Archivo (en Disco) y que utiliza como indice un Arbol B# 
         * 
         * @param TipoMemoria tipoM: define si los registros que vendran por listaDatos son de longitud FIJA o VARIABLE.
         * @param TipoEstrategia tipoE: define si la estrategia de almacenamiento de los datos son REGISTROS, BLOQUES o TEXTO
         * @param vector&#60;Dato*&#62; listaDatos: vector que contiene los datos a almacenar en la carga inicial.
         * 
         * */</font>
        <font color="blue">static</font> RecursoDeAlmacenamiento<font color="black">*</font> recursoArchivo_IndiceArbol<font color="black">(</font><font color="blue">char</font> <font color="black">*</font>path, TipoMemoria tipoM, TipoEstrategia tipoE,TipoIndice tipoi,vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font> listaDatos<font color="black">)</font>;
                
        <font color="green">/**
         * 
         * Permite crear un recurso que se almacena en Buffer y que utiliza indexacion  
         * por Dispersion extendida en bloques de registros de dato.  
         * 
         * @param TipoMemoria tipoM: define si los registros que vendran por listaDatos son de longitud FIJA o VARIABLE.
         * @param vector&#60;Dato*&#62; listaDatos: vector que contiene los datos a almacenar en la carga inicial.
         * 
         * */</font>
        <font color="blue">static</font> RecursoDeAlmacenamiento<font color="black">*</font> recursoBuffer_IndiceHash<font color="black">(</font>TipoMemoria tipoM, vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font> listaDatos<font color="black">)</font>;
        
        <font color="green">/**
         * 
         * Permite crear un recurso que se almacena en un Archivo (en Disco) y que utiliza indexacion 
         * por Dispersion extendida en bloques de registros de dato.  
         * 
         * @param TipoMemoria tipoM: define si los registros que vendran por listaDatos son de longitud FIJA o VARIABLE.
         * @param vector&#60;Dato*&#62; listaDatos: vector que contiene los datos a almacenar en la carga inicial.
         * 
         * */</font>
        <font color="blue">static</font> RecursoDeAlmacenamiento<font color="black">*</font> recursoArchivo_IndiceHash<font color="black">(</font><font color="blue">char</font> <font color="black">*</font>path, TipoMemoria tipoM, TipoIndice tipoi, vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font> listaDatos<font color="black">)</font>;
        
        
        <font color="green">/**
         * 
         * Permite crear un recurso que se almacena en Archivo y buffer con escritura directa
         * que utiliza indexacion: Arbol b#.  
         * 
         * @param TipoMemoria tipoM: define si los registros que vendran por listaDatos son de longitud FIJA o VARIABLE.
         * @param TipoEstrategia tipoE: define si la estrategia de almacenamiento de los datos son REGISTROS, BLOQUES o TEXTO
         * @param vector&#60;Dato*&#62; listaDatos: vector que contiene los datos a almacenar en la carga inicial.
         * 
         * */</font>
        <font color="blue">static</font> RecursoDeAlmacenamiento<font color="black">*</font> recursoArchivoConBuffer_IndiceArbol<font color="black">(</font><font color="blue">char</font> <font color="black">*</font>path, TipoMemoria tipoM, TipoEstrategia tipoE, vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font> listaDatos<font color="black">)</font>;
        
        <font color="green">/**
         * 
         * Permite crear un recurso que se almacena en Archivo y buffer con escritura directa
         * que utiliza indexacion: Dispersion extendida en bloques de registros de dato.  
         * 
         * @param TipoMemoria tipoM: define si los registros que vendran por listaDatos son de longitud FIJA o VARIABLE.
         * @param vector&#60;Dato*&#62; listaDatos: vector que contiene los datos a almacenar en la carga inicial.
         * 
         * */</font>
        <font color="blue">static</font> RecursoDeAlmacenamiento<font color="black">*</font> recursoArchivoConBuffer_IndiceHash<font color="black">(</font><font color="blue">char</font> <font color="black">*</font>path,TipoMemoria tipoM, vector<font color="black">&#60;</font>Dato<font color="black">*</font><font color="black">&#62;</font> listaDatos<font color="black">)</font>;
    
<font color="black">}</font>;

<font color="blue">#endif</font> <font color="green">/*FABRECALMACENAMIENTO_H_*/</font>


</PRE>
</BODY>
</HTML>
